# Config package
import os
from dotenv import load_dotenv
load_dotenv()

from .jwt_config import JWTConfig
from .redis_config import RedisConfig

# 配置字典
config = {
    'development': {
        'DEBUG': True,
        'SECRET_KEY': os.environ.get('SECRET_KEY') or 'dev-secret-key',
        'SQLALCHEMY_DATABASE_URI': os.environ.get('DEV_DATABASE_URL') or 'mysql+pymysql://root:123456@localhost/flask_dev_db',
        'SQLALCHEMY_TRACK_MODIFICATIONS': False,
        'JWT_SECRET_KEY': os.environ.get('JWT_SECRET_KEY') or 'jwt-secret-string',
        'JWT_ACCESS_TOKEN_EXPIRES': 86400,  # 24小时
        'JWT_REFRESH_TOKEN_EXPIRES': 2592000,  # 30天
    },
    'production': {
        'DEBUG': False,
        'SECRET_KEY': os.environ.get('SECRET_KEY') or 'prod-secret-key',
        'SQLALCHEMY_DATABASE_URI': os.environ.get('DATABASE_URL') or 'mysql+pymysql://user:123456@localhost/flask_prod_db',
        'SQLALCHEMY_TRACK_MODIFICATIONS': False,
        'JWT_SECRET_KEY': os.environ.get('JWT_SECRET_KEY') or 'jwt-secret-string',
        'JWT_ACCESS_TOKEN_EXPIRES': 86400,  # 24小时
        'JWT_REFRESH_TOKEN_EXPIRES': 2592000,  # 30天
    },
    'testing': {
        'TESTING': True,
        'SECRET_KEY': os.environ.get('SECRET_KEY') or 'test-secret-key',
        'SQLALCHEMY_DATABASE_URI': os.environ.get('TEST_DATABASE_URL') or 'mysql+pymysql://root:123456@localhost/flask_dev_db',
        'SQLALCHEMY_TRACK_MODIFICATIONS': False,
        'JWT_SECRET_KEY': os.environ.get('JWT_SECRET_KEY') or 'jwt-secret-string',
        'JWT_ACCESS_TOKEN_EXPIRES': 86400,  # 24小时
        'JWT_REFRESH_TOKEN_EXPIRES': 2592000,  # 30天
    }
}